package com.jeesite.modules.exam.quota.entity;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.modules.exam.score.entity.DcSupExamScore;

import javax.validation.constraints.Size;
import java.util.List;

/**
 * 考核任务指标汇总表Entity
 * @author 林颖
 * @version 2022-06-07
 */
@Table(name="dc_sup_exam_sum_quota_info", alias="a", label="考核任务指标汇总表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="quota_group", attrName="quotaGroup", label="指标类型", comment="指标类型（1关键指标、2单项指标）"),
		@Column(name="sum_source", attrName="sumSource", label="汇总来源", comment="汇总来源（1指标报送、2汇总添加）"),
		@Column(name="exam_year", attrName="examYear", label="考核年度"),
		@Column(name="quota_type", attrName="quotaType", label="指标类别"),
		@Column(name="quota_class", attrName="quotaClass", label="指标分类（1.普通指标、2加分项指标、3减分项指标）"),
		@Column(name="sort_num", attrName="sortNum", label="序号", comment="序号（排序列）", isUpdateForce=true),
		@Column(name="quota_content", attrName="quotaContent", label="目标内容"),
		@Column(name="quota_unit", attrName="quotaUnit", label="单位", comment="单位（数学或物理方面的单位）"),
		@Column(name="quota_weight", attrName="quotaWeight", label="权数"),
		@Column(name="current_yaer_goal", attrName="currentYaerGoal", label="本年度目标"),
		@Column(name="last_yaer_goal", attrName="lastYaerGoal", label="上一年度目标任务"),
		@Column(name="last_year_complete", attrName="lastYearComplete", label="上一年度完成情况"),
		@Column(name="exame_org", attrName="exameOrg", label="被考核单位编码", comment="被考核单位编码（单个）"),
		@Column(name="exame_org_name", attrName="exameOrgName", label="被考核单位名称", comment="被考核单位名称（单个）", queryType=QueryType.LIKE),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="file_status", attrName="fileStatus", label="备用字段4"),
		@Column(name="remarks", attrName="remarks", label="备注"),
		@Column(name="file_back_opinion", attrName="remarks4", label="细则驳回意见", queryType=QueryType.LIKE),
		@Column(name="sum_quota_id", attrName="sumQuotaId", label="指标汇总主表Id"),
		@Column(name="quota_info_id", attrName="quotaInfoId", label="指标信息表id"),
		@Column(name="assess_method", attrName="assessMethod", label="考核方式"),
		@Column(name="org_type", attrName="orgType", label="考核方式"),
		@Column(name="detail_file", attrName="detailFile", label="细则绑定业务id"),
	}, orderBy="a.update_date DESC"
)
public class DcSupExamSumQuotaInfo extends DataEntity<DcSupExamSumQuotaInfo> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 考核任务id
	 */
	private String examId;
	 /**
	 * 指标类型（1关键指标、2单项指标）
	 */
	private String quotaGroup;
	 /**
	 * 汇总来源（1指标报送、2汇总添加）
	 */
	private String sumSource;
	 /**
	 * 考核年度
	 */
	private String examYear;
	 /**
	 * 指标类别 指标分类
	 */
	private String quotaType;
	/**
	 *
	 */
	private String quotaClass;
	/**
	 * 指标信息表id
	 */
	private String quotaInfoId;
	/**
	 * 备注
	 */
	private String remarks;
	 /**
	 * 序号（排序列）
	 */
	private Long sortNum;
	 /**
	 * 目标内容
	 */
	private String quotaContent;
	 /**
	 * 单位（数学或物理方面的单位）
	 */
	private String quotaUnit;
	 /**
	 * 权数
	 */
	private Double quotaWeight;

	/**
	 * 分数
	 */
	private Double quotaScore;
	 /**
	 * 本年度目标
	 */
	private String currentYaerGoal;
	 /**
	 * 上一年度目标任务
	 */
	private String lastYaerGoal;
	 /**
	 * 上一年度完成情况
	 */
	private String lastYearComplete;
	 /**
	 * 被考核单位编码（单个）
	 */
	private String exameOrg;
	 /**
	 * 被考核单位名称（单个）
	 */
	private String exameOrgName;
	private String exameOrgs;

	public String getExameOrgs() {
		return exameOrgs;
	}

	public void setExameOrgs(String exameOrgs) {
		this.exameOrgs = exameOrgs;
	}

	public String getExameOrgNames() {
		return exameOrgNames;
	}

	public void setExameOrgNames(String exameOrgNames) {
		this.exameOrgNames = exameOrgNames;
	}

	/**
	 * 被考核单位名称（单个）
	 */
	private String exameOrgNames;
	 /**
	 * 汇总状态（0删除、1已保存、2已发布）
	 */
	private String sumStatus;
	 /**
	 * 版本号
	 */
	private Long versionNumber;
	 /**
	 * 版本名称
	 */
	private String versionName;
	 /**
	 * 备用字段1
	 */
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	private String remarks4;
	 /**
	 * 指标汇总表id
	 */
	private String sumQuotaId;

	private String fileId;

	private String fileName;


	private String fileStatus;

	private String fileBackOpinion;

	private String fileuploadId;

	private String copyVersion;

	private String gradeOrg;
	private String gradeOrgName;

	public String getGradeOrgName() {
		return gradeOrgName;
	}

	public void setGradeOrgName(String gradeOrgName) {
		this.gradeOrgName = gradeOrgName;
	}

	private String type;

	private String unitCodes;
	private String unitNames;

	private String scoreReason;

	private String assessMethod;
	/**
	 * 评分区县类型
	 */
	private String orgType;

	private String orgSort;

	private String quotaTypes;

	private String sortType;

	public String getSortType() {
		return sortType;
	}

	public void setSortType(String sortType) {
		this.sortType = sortType;
	}

	public String getOrgSort() {
		return orgSort;
	}

	public void setOrgSort(String orgSort) {
		this.orgSort = orgSort;
	}

	public String getQuotaTypes() {
		return quotaTypes;
	}

	public void setQuotaTypes(String quotaTypes) {
		this.quotaTypes = quotaTypes;
	}

	public String getDetailFile() {
		return detailFile;
	}

	public void setDetailFile(String detailFile) {
		this.detailFile = detailFile;
	}

	public String getOrgType() {
		return orgType;
	}

	public void setOrgType(String orgType) {
		this.orgType = orgType;
	}

	public String getAssessMethod() {
		return assessMethod;
	}

	public void setAssessMethod(String assessMethod) {
		this.assessMethod = assessMethod;
	}

	/**
	 * 排名
	 */
	private String ranking;
	private String detailFile;

	public String getScoreInfoId() {
		return scoreInfoId;
	}

	public void setScoreInfoId(String scoreInfoId) {
		this.scoreInfoId = scoreInfoId;
	}

	private String groupUnit;
	private String scoreInfoId;

	public String getGroupUnit() {
		return groupUnit;
	}

	public void setGroupUnit(String groupUnit) {
		this.groupUnit = groupUnit;
	}

	public String getRanking() {
		return ranking;
	}

	public void setRanking(String ranking) {
		this.ranking = ranking;
	}

	public String getScoreReason() {
		return scoreReason;
	}

	public void setScoreReason(String scoreReason) {
		this.scoreReason = scoreReason;
	}

	public String getUnitCodes() {
		return unitCodes;
	}

	public void setUnitCodes(String unitCodes) {
		this.unitCodes = unitCodes;
	}

	public String getUnitNames() {
		return unitNames;
	}

	public void setUnitNames(String unitNames) {
		this.unitNames = unitNames;
	}

	private String sortMode;


	private DcSupExamScore dcSupExamScore;

	private String noticeId;
	/**
	 * 百分比
	 */
	private Double percentage;

	/**
	 * 评分状态
	 */
	private String scoreStatus;


	public String getScoreStatus() {
		return scoreStatus;
	}

	public void setScoreStatus(String scoreStatus) {
		this.scoreStatus = scoreStatus;
	}

	public String getNoticeId() {
		return noticeId;
	}

	public void setNoticeId(String noticeId) {
		this.noticeId = noticeId;
	}

	public Double getPercentage() {
		return percentage;
	}

	public void setPercentage(Double percentage) {
		this.percentage = percentage;
	}

	public DcSupExamScore getDcSupExamScore() {
		return dcSupExamScore;
	}

	public void setDcSupExamScore(DcSupExamScore dcSupExamScore) {
		this.dcSupExamScore = dcSupExamScore;
	}

	public String getSortMode() {
		return sortMode;
	}

	public void setSortMode(String sortMode) {
		this.sortMode = sortMode;
	}

	public String getFileId() {
		return fileId;
	}

	public void setFileId(String fileId) {
		this.fileId = fileId;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getGradeOrg() {
		return gradeOrg;
	}


	public void setGradeOrg(String gradeOrg) {
		this.gradeOrg = gradeOrg;
	}

	public String getQuotaInfoId() {
		return quotaInfoId;
	}

	public void setQuotaInfoId(String quotaInfoId) {
		this.quotaInfoId = quotaInfoId;
	}

	public String getCopyVersion() {
		return copyVersion;
	}

	public void setCopyVersion(String copyVersion) {
		this.copyVersion = copyVersion;
	}

	public String getFileuploadId() {
		return fileuploadId;
	}

	public void setFileuploadId(String fileuploadId) {
		this.fileuploadId = fileuploadId;
	}

	public DcSupExamSumQuotaInfo() {
		this(null);
	}

	public DcSupExamSumQuotaInfo(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Size(min=0, max=10, message="指标类型长度不能超过 10 个字符")
	public String getQuotaGroup() {
		return quotaGroup;
	}

	public void setQuotaGroup(String quotaGroup) {
		this.quotaGroup = quotaGroup;
	}
	
	@Size(min=0, max=10, message="汇总来源长度不能超过 10 个字符")
	public String getSumSource() {
		return sumSource;
	}

	public void setSumSource(String sumSource) {
		this.sumSource = sumSource;
	}
	
	@Size(min=0, max=4, message="考核年度长度不能超过 4 个字符")
	public String getExamYear() {
		return examYear;
	}

	public void setExamYear(String examYear) {
		this.examYear = examYear;
	}
	
	@Size(min=0, max=10, message="指标类别长度不能超过 10 个字符")
	public String getQuotaType() {
		return quotaType;
	}

	public void setQuotaType(String quotaType) {
		this.quotaType = quotaType;
	}
	
	public Long getSortNum() {
		return sortNum;
	}

	public void setSortNum(Long sortNum) {
		this.sortNum = sortNum;
	}
	
	@Size(min=0, max=255, message="目标内容长度不能超过 255 个字符")
	public String getQuotaContent() {
		return quotaContent;
	}

	public void setQuotaContent(String quotaContent) {
		this.quotaContent = quotaContent;
	}
	
	@Size(min=0, max=255, message="单位长度不能超过 255 个字符")
	public String getQuotaUnit() {
		return quotaUnit;
	}

	public void setQuotaUnit(String quotaUnit) {
		this.quotaUnit = quotaUnit;
	}

	public Double getQuotaWeight() {
		return quotaWeight;
	}

	public void setQuotaWeight(Double quotaWeight) {
		this.quotaWeight = quotaWeight;
	}

	@Size(min=0, max=255, message="本年度目标长度不能超过 255 个字符")
	public String getCurrentYaerGoal() {
		return currentYaerGoal;
	}

	public void setCurrentYaerGoal(String currentYaerGoal) {
		this.currentYaerGoal = currentYaerGoal;
	}
	
	@Size(min=0, max=255, message="上一年度目标任务长度不能超过 255 个字符")
	public String getLastYaerGoal() {
		return lastYaerGoal;
	}

	public void setLastYaerGoal(String lastYaerGoal) {
		this.lastYaerGoal = lastYaerGoal;
	}
	
	@Size(min=0, max=255, message="上一年度完成情况长度不能超过 255 个字符")
	public String getLastYearComplete() {
		return lastYearComplete;
	}

	public void setLastYearComplete(String lastYearComplete) {
		this.lastYearComplete = lastYearComplete;
	}
	
	@Size(min=0, max=100, message="被考核单位编码长度不能超过 100 个字符")
	public String getExameOrg() {
		return exameOrg;
	}

	public void setExameOrg(String exameOrg) {
		this.exameOrg = exameOrg;
	}
	
	@Size(min=0, max=100, message="被考核单位名称长度不能超过 100 个字符")
	public String getExameOrgName() {
		return exameOrgName;
	}

	public void setExameOrgName(String exameOrgName) {
		this.exameOrgName = exameOrgName;
	}
	
	@Size(min=0, max=10, message="汇总状态长度不能超过 10 个字符")
	public String getSumStatus() {
		return sumStatus;
	}

	public void setSumStatus(String sumStatus) {
		this.sumStatus = sumStatus;
	}
	
	public Long getVersionNumber() {
		return versionNumber;
	}

	public void setVersionNumber(Long versionNumber) {
		this.versionNumber = versionNumber;
	}
	
	@Size(min=0, max=100, message="版本名称长度不能超过 100 个字符")
	public String getVersionName() {
		return versionName;
	}

	public void setVersionName(String versionName) {
		this.versionName = versionName;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}
	
	@Size(min=0, max=64, message="指标汇总表id长度不能超过 64 个字符")
	public String getSumQuotaId() {
		return sumQuotaId;
	}

	public void setSumQuotaId(String sumQuotaId) {
		this.sumQuotaId = sumQuotaId;
	}

	public Double getQuotaScore() {
		return quotaScore;
	}

	public void setQuotaScore(Double quotaScore) {
		this.quotaScore = quotaScore;
	}

	public String getFileStatus() {
		return fileStatus;
	}

	public void setFileStatus(String fileStatus) {
		this.fileStatus = fileStatus;
	}

	public String getFileBackOpinion() {
		return fileBackOpinion;
	}

	public void setFileBackOpinion(String fileBackOpinion) {
		this.fileBackOpinion = fileBackOpinion;
	}

	public String getQuotaClass() {
		return quotaClass;
	}

	public void setQuotaClass(String quotaClass) {
		this.quotaClass = quotaClass;
	}

	@Override
	public String getRemarks() {
		return remarks;
	}

	@Override
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	private List<String> exportColumn; // 下载列选择

	public List<String> getExportColumn() {
		return exportColumn;
	}

	public void setExportColumn(List<String> exportColumn) {
		this.exportColumn = exportColumn;
	}
}